
// <copyright file="MemoryDumpTypes.cs" company="Subhadra Software Solutions">
//   
// </copyright>
// <summary>
//   The memory dump types.
// </summary>

namespace SubhadraSolutions.Sharp.Utils.Diagnostics
{
    #region Enumerations

    /// <summary>
    /// The memory dump types.
    /// </summary>
    public enum MemoryDumpTypes
    {
        /// <summary>
        /// The mini dump normal.
        /// </summary>
        MiniDumpNormal = 0x00000000, 

        /// <summary>
        /// The mini dump with data segs.
        /// </summary>
        MiniDumpWithDataSegs = 0x00000001, 

        /// <summary>
        /// The mini dump with full memory.
        /// </summary>
        MiniDumpWithFullMemory = 0x00000002, 

        /// <summary>
        /// The mini dump with handle data.
        /// </summary>
        MiniDumpWithHandleData = 0x00000004, 

        /// <summary>
        /// The mini dump filter memory.
        /// </summary>
        MiniDumpFilterMemory = 0x00000008, 

        /// <summary>
        /// The mini dump scan memory.
        /// </summary>
        MiniDumpScanMemory = 0x00000010, 

        /// <summary>
        /// The mini dump with unloaded modules.
        /// </summary>
        MiniDumpWithUnloadedModules = 0x00000020, 

        /// <summary>
        /// The mini dump with indirectly referenced memory.
        /// </summary>
        MiniDumpWithIndirectlyReferencedMemory = 0x00000040, 

        /// <summary>
        /// The mini dump filter module paths.
        /// </summary>
        MiniDumpFilterModulePaths = 0x00000080, 

        /// <summary>
        /// The mini dump with process thread data.
        /// </summary>
        MiniDumpWithProcessThreadData = 0x00000100, 

        /// <summary>
        /// The mini dump with private read write memory.
        /// </summary>
        MiniDumpWithPrivateReadWriteMemory = 0x00000200, 

        /// <summary>
        /// The mini dump without optional data.
        /// </summary>
        MiniDumpWithoutOptionalData = 0x00000400, 

        /// <summary>
        /// The mini dump with full memory info.
        /// </summary>
        MiniDumpWithFullMemoryInfo = 0x00000800, 

        /// <summary>
        /// The mini dump with thread info.
        /// </summary>
        MiniDumpWithThreadInfo = 0x00001000, 

        /// <summary>
        /// The mini dump with code segs.
        /// </summary>
        MiniDumpWithCodeSegs = 0x00002000
    }

    #endregion Enumerations
}
